package com.cskaoyan.javase.string.notvar2.exercise;

/**
 * @description: 练习3
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

/**
 * String类 equals方法
 * 比较的是String里的字符数组，比的是字符串的内容
 *
 */
public class Demo3 {
    public static void main(String[] args) {
        //true 1 false 2
        String s1 = new String("hello");
        String s2 = new String("hello");//这两个对象的数组是共享的
        //三个对象创建了 1，字符串常量池中的hello 2，堆上的s1指向的hello 3，堆上的s2指向的hello对象
        //这三个对象共用一个value数组
        System.out.println(s1 == s2); //只要使用new关键字 统统创建了新的对象 一定不是一个对象 地址值不可能相同 false
        System.out.println(s1.equals(s2)); //string里的equals方法比较的是内容 这里返回true

        String s3 = new String("hello");
        String s4 = "hello";
        System.out.println(s3 == s4); //false
        System.out.println(s3.equals(s4)); //true

        String s5 = "hello";
        String s6 = "hello";
        System.out.println(s5 == s6); //true
        System.out.println(s5.equals(s6)); //true
    }
}
